#include <iostream>

struct Test
{
    Test()
    {
        std::cout<<"构造函数\n";
    }
    ~Test()
    {
        std::cout<<"析构函数\n";
    }
};

void func()
{
    Test t;

    throw 1;

    std::cout<<"helloworld"<<std::endl;
}

int main()
{   
    //异常抛出后函数不再继续执行
    //如果异常被捕获，栈上的对象会自动析构 ---栈的解旋
    try
    {
        func();
    }
    catch(int)
    {
       
    }
    
    func();
    return 0;
}